package com.example.foobar.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import io.geekidea.springbootplus.framework.core.validator.groups.Update;

/**
 * 
 *
 * @author 郑英奔
 * @since 2021-07-15
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ImsGhostQrcodes对象")
public class ImsGhostQrcodes extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @NotNull(message = "id不能为空", groups = {Update.class})
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @NotNull(message = "公众号ID不能为空")
    @ApiModelProperty("公众号ID")
    private Integer uniacid;

    @NotBlank(message = "场景名称不能为空")
    @ApiModelProperty("场景名称")
    private String sceneName;

    @NotBlank(message = "场景ID不能为空")
    @ApiModelProperty("场景ID")
    private String sceneId;

    @NotBlank(message = "二维码类型不能为空")
    @ApiModelProperty("二维码类型")
    private String actionName;

    @NotBlank(message = "关键字不能为空")
    @ApiModelProperty("关键字")
    private String keyword;

    @NotBlank(message = "推广人不能为空")
    @ApiModelProperty("推广人")
    private String promoter;

    @NotBlank(message = "备注不能为空")
    @ApiModelProperty("备注")
    private String remark;

    @NotBlank(message = "二维码ticket不能为空")
    @ApiModelProperty("二维码ticket")
    private String ticket;

    @NotBlank(message = "不能为空")
    private String reply;

    @ApiModelProperty("扫码回复")
    private String scanReply;

    @ApiModelProperty("扫码关键字")
    private String scanKeyword;

    @NotBlank(message = "二维码url不能为空")
    @ApiModelProperty("二维码url")
    private String url;

    @ApiModelProperty("二维码过期时间")
    private Integer expireSeconds;

    @NotNull(message = "创建时间不能为空")
    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("关注数")
    private Integer subscribe;

    @ApiModelProperty("取消关注数")
    private Integer unsubscribe;

    private Integer scan;

    @NotBlank(message = "不能为空")
    private String openid;

    private Integer posterId;

    @TableField("`group`")
    private Integer group;

    @TableField("`status`")
    private Boolean status;

    private String fansAddReply;

    private String fansCancelReply;

    @ApiModelProperty("关注回复类型")
    private String replyType;

    @ApiModelProperty("扫码回复类型")
    private String scanReplyType;

}
